Searched hist:"3 b034b0d084221596bf35c8d893e1d4d5477b9cc" (Results 1 – 3 of 3) sorted by relevance
/linux/include/linux/ |
H A D | percpu.h | diff ee0a6efc1897ef817e177e669f5c5d211194df24 Wed Dec 02 00:36:58 CET 2009 Tejun Heo <tj@kernel.org> percpu: add missing per_cpu_ptr_to_phys() definition for UP
Commit 3b034b0d084221596bf35c8d893e1d4d5477b9cc implemented per_cpu_ptr_to_phys() but forgot to add UP definition. Add UP definition which is simple wrapper around __pa().
Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Vivek Goyal <vgoyal@redhat.com> Reported-by: Randy Dunlap <randy.dunlap@oracle.com> diff 3b034b0d084221596bf35c8d893e1d4d5477b9cc Tue Nov 24 07:50:03 CET 2009 Vivek Goyal <vgoyal@redhat.com> percpu: Fix kdump failure if booted with percpu_alloc=page
o kdump functionality reserves a per cpu area at boot time and exports the physical address of that area to user space through sys interface. This area stores some dump related information like cpu register states etc at the time of crash.
o We were assuming that per cpu area always come from linearly mapped meory region and using __pa() to determine physical address. With percpu_alloc=page, per cpu area can come from vmalloc region also and __pa() breaks.
o This patch implments a new function to convert per cpu address to physical address.
Before the patch, crash_notes addresses looked as follows.
cpu0 60fffff49800 cpu1 60fffff60800 cpu2 60fffff77800
These are bogus phsyical addresses.
After the patch, address are following.
cpu0 13eb44000 cpu1 13eb43000 cpu2 13eb42000 cpu3 13eb41000
These look fine. I got 4G of memory and /proc/iomem tell me following.
100000000-13fffffff : System RAM
tj: * added missing asm/io.h include reported by Stephen Rothwell * repositioned per_cpu_ptr_phys() in percpu.c and added comment.
Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
|
/linux/drivers/base/ |
H A D | cpu.c | diff 3b034b0d084221596bf35c8d893e1d4d5477b9cc Tue Nov 24 07:50:03 CET 2009 Vivek Goyal <vgoyal@redhat.com> percpu: Fix kdump failure if booted with percpu_alloc=page
o kdump functionality reserves a per cpu area at boot time and exports the physical address of that area to user space through sys interface. This area stores some dump related information like cpu register states etc at the time of crash.
o We were assuming that per cpu area always come from linearly mapped meory region and using __pa() to determine physical address. With percpu_alloc=page, per cpu area can come from vmalloc region also and __pa() breaks.
o This patch implments a new function to convert per cpu address to physical address.
Before the patch, crash_notes addresses looked as follows.
cpu0 60fffff49800 cpu1 60fffff60800 cpu2 60fffff77800
These are bogus phsyical addresses.
After the patch, address are following.
cpu0 13eb44000 cpu1 13eb43000 cpu2 13eb42000 cpu3 13eb41000
These look fine. I got 4G of memory and /proc/iomem tell me following.
100000000-13fffffff : System RAM
tj: * added missing asm/io.h include reported by Stephen Rothwell * repositioned per_cpu_ptr_phys() in percpu.c and added comment.
Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
|
/linux/mm/ |
H A D | percpu.c | diff 3b034b0d084221596bf35c8d893e1d4d5477b9cc Tue Nov 24 07:50:03 CET 2009 Vivek Goyal <vgoyal@redhat.com> percpu: Fix kdump failure if booted with percpu_alloc=page
o kdump functionality reserves a per cpu area at boot time and exports the physical address of that area to user space through sys interface. This area stores some dump related information like cpu register states etc at the time of crash.
o We were assuming that per cpu area always come from linearly mapped meory region and using __pa() to determine physical address. With percpu_alloc=page, per cpu area can come from vmalloc region also and __pa() breaks.
o This patch implments a new function to convert per cpu address to physical address.
Before the patch, crash_notes addresses looked as follows.
cpu0 60fffff49800 cpu1 60fffff60800 cpu2 60fffff77800
These are bogus phsyical addresses.
After the patch, address are following.
cpu0 13eb44000 cpu1 13eb43000 cpu2 13eb42000 cpu3 13eb41000
These look fine. I got 4G of memory and /proc/iomem tell me following.
100000000-13fffffff : System RAM
tj: * added missing asm/io.h include reported by Stephen Rothwell * repositioned per_cpu_ptr_phys() in percpu.c and added comment.
Signed-off-by: Vivek Goyal <vgoyal@redhat.com> Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
|